1. Field of the Invention
The present invention relates to a storage apparatus for performing a speed control of a head and performing a seek control and, more particularly, to a storage apparatus in which a square root arithmetic operation is required in calculation of a seek speed target value that is used in the seek control.
2. Description of the Related Arts
An optical disk has been attracted as a storage medium serving as a core of multimedia which have rapidly been developed in recent years. For example, in case of an MO cartridge of 3.5 inches, the MO cartridges of 128 MB, 230 MB, 540 MB, 640 MB, and the like have been provided. An optical disk drive using such an MO cartridge has been provided as an external storage apparatus of a personal computer of a desktop type. Further, the use of the optical disk drive in a notebook sized personal computer having excellent portability which has recently rapidly been spread is also strongly desired. Therefore, in order to equip the optical disk drive as a standard external storage apparatus, the realization of a small size, a thin size, and a low price is further requested.
In the optical disk drive, a head mechanism of a linear driving type is provided in the direction which transverses tracks of a medium. The head mechanism comprises a fixed optical system fixed to a casing and a movable optical system which is linearly driven by a VCM. The movable optical unit mounted on a carriage has a mechanism for moving an objective lens in the vertical direction by a current supply to a focusing coil. In the head mechanism of such a conventional optical disk drive, at the time of the seek control to move a laser beam to a target track, a speed control to perform acceleration, constant speed setting, and deceleration is performed by the driving of the carriage by the VCM. Just before the laser beam reaches the target track, a pull-in control to the target track is performed and a tracking control for allowing the laser beam to trace the target track is performed.
In the conventional seek control, a seek speed target value Vt in a decelerating interval is generally obtained by, for example,
Vt={square root over ( )}(2ax)
where, x: residual distance to, for example, the target track
a: deceleration
A square root calculation is needed. Although a DSP is ordinarily used in the seek control, the square root calculation in the DSP has a large load. For example, in the DSP of a fixed point, a calculating time of about 10 xcexcsec is required per calculation of the square root.
According to the invention, there is provided a storage apparatus in which a square root calculation to give a seek speed target value is simplified, thereby realizing a decrease in calculation amount and a high processing speed.
A storage apparatus of the invention comprises a seek control unit for performing a speed control of a head and performing a seek control and an approximate value calculating unit. When a square root arithmetic operation is needed in a calculation of the seek speed target value which is used in the seek control, the approximate value calculating unit divides a range of an input value x serving as an arithmetic operation target of the square root arithmetic operation into a plurality of intervals, sets an approximate function to approximately output the square root of the input value x every interval, and selectively uses the approximate function corresponding to the interval to which the input value x belongs, thereby calculating the square root approximate value of the input value x. In this manner, according to the invention, since the square root of the input value x is calculated by a polynomial of degree N such as two or three of the input value x and approximated, it is sufficient to perform the arithmetic operation of the polynomial by the DSP by only the repetition of an adding cycle. Consequently, a calculation amount of one approximate calculation of the square root is small, it can be calculated for a short time, and a calculation load of the DSP can be reduced.
The approximate value calculating unit approximates a square root f(x)={square root over ( )}x by a piecewise function
f{circumflex over ( )}(x)=fn{circumflex over ( )}(x), knxc2x7X0xe2x89xa6x less than kn+1xc2x7X0
where, n: integer showing an interval number
k: constant
X0: arbitrary value showing a basic value of an interval boundary of the input value x
Although the approximate function is expressed by xe2x80x9c{circumflex over (f)}n(x)xe2x80x9d, it is expressed as xe2x80x9cfn{circumflex over ( )}(x)xe2x80x9d in the specification.
The approximate value calculating unit defines the piecewise function
f0{circumflex over ( )}(x), X0xe2x89xa6x less than kxc2x7X0
of an interval number n=0 as a basic approximate function and approximates intervals of the interval numbers except for the interval number n=0 by a piecewise function
fn{circumflex over ( )}(x)={square root over ( )}knxc2x7f0{circumflex over ( )}(x/(k)n), knxc2x7X0xe2x89xa6x less than kn+1xc2x7X0
using the basic approximate function f0{circumflex over ( )}(x). The approximate value calculating unit uses the polynomial of degree N corrected so as to prevent a discontinuous change in approximate value at each boundary position in the divided range. That is, the approximate value calculating unit uses a polynomial corrected so as to set errors e1 and e2 of the approximate values at boundary positions P and Q in the divided range to 0. In this manner, according to the invention, by merely setting one fundamental approximate function (basic approximate function) for the divided basic range (X0xe2x89xa6x less than kxc2x7X0) of the input value x and performing a simple mapping conversion {x/(kn)} of the input value x to the basic range, the same approximate function can be applied even to the other ranges of the input value x. Owing to the above feature, as compared with the case of forming the approximate function for the whole area of the range of the input value x, higher approximate precision is obtained by a smaller degree in the case where the polynomial of degree N is set to the approximate function.
In the approximate value calculating unit, with respect to the basic range when the range of the input value x serving as an arithmetic operation target of the square root arithmetic operation is divided into a plurality of intervals, namely, the range which is defined by
X0xe2x89xa6x less than kxc2x7X0
where, k: constant
X0: arbitrary value showing a basic value of an interval boundary of the input value x
the correspondence relation between the input value x serving as an arithmetic operation target of the square root arithmetic operation and the square root value of the input value x are previously stored into a table.
At the time of the actual square root arithmetic operation, an input scale conversion to convert the input value x to a corresponding value in the basic range is performed to the input value x, and the square root approximate value for the converted value is obtained by referring to the table. An output scale conversion to convert the square root approximate value for the converted value to a square root approximate value for the actual input value x is performed, and the square root approximate value corresponding to the actual input value x is calculated. In this case as well, by merely setting one basic reference table for the divided basic range (X0xe2x89xa6x less than kxc2x7X0) in the input value x and performing a simple mapping conversion {x/(kn)} of the input value to the basic range, the same reference table can be used even in the other ranges of the input value x. Owing to this feature, as compared to the case of forming the reference table for the whole area of the range of the input value x, a memory capacity for the table is reduced. The approximate value calculating unit sets the constant k to decide the boundary value of the range to be divided to, for example, 10n or 2n.
The above and other objects, features, and advantages of the present invention will become more apparent from the following detailed description with reference to the drawings.